class Proveedor < ActiveRecord::Base
	belongs_to :lugar
	belongs_to :tipo_servicio
	has_many :servicios, :dependent=>:destroy	
	has_many :cuentas, :class_name => "CuentaBancaria", :dependent=>:destroy
	has_many :contactos, :dependent=>:destroy
	has_many :politicas, :class_name => "PoliticaProveedor", :dependent=>:destroy
	
	def to_s	
		nombre		
	end	
	
	def self.search(clave, lugar_id)
		sql = "select p.*
					from 
						proveedores p inner join tipos_servicio tp
							on(p.tipo_servicio_id = tp.id)
					where
						(p.nombre like ? or p.razon_social like ? or tp.nombre like ?)"
		if lugar_id.to_i > 0
			sql += " and p.lugar_id = #{lugar_id}"
		end			
		Proveedor.find_by_sql([sql, "%#{clave}%", "%#{clave}%", "%#{clave}%"])
	end
	
	def cuentas_reserva
		sql = "select
					*
				from 
					cuentas_bancarias
				where
					proveedor_id = #{id}"				
		CuentaBancaria.find_by_sql(sql)
	end
	
	def correo_reservas
		sql = "select
					*
				from 
					contactos
				where
					cargo_administrativo_id = 2 and
					tipo_contacto_id = 2 and
					proveedor_id = #{id}"				
		rpta = Contacto.find_by_sql(sql).first
		if rpta == nil
			return ""
		else
			rpta.valor
		end
	end
	
	def cuentas_by_moneda(moneda)
		cuentas.select { |cuenta| cuenta.moneda_id == moneda.id }
	end
	
	def contactos_reserva
		contactos.select { |contacto| contacto.cargo_administrativo_id == 2 }
	end
end
